#!/usr/bin/env python
# vim:fileencoding=utf-8

from __future__ import absolute_import, division, print_function, unicode_literals

from calibre.web.feeds.news import BasicNewsRecipe

'''
ACM Queue Magazine
'''


class QueueAcmOrg(BasicNewsRecipe):
    title = 'ACM Queue Magazine'
    __author__ = 'yodha8'
    description = 'Queue is the ACM magazine for practicing software engineers. Published once every 2 months. Example: Jan-Feb.'
    oldest_article = 60
    max_articles_per_feed = 50
    auto_cleanup = True
    language = 'en'
    cover_url = 'https://queue.acm.org/img/acmqueue_logo.gif'

    feeds = [
        ('All Queue Content', 'https://queue.acm.org/rss/feeds/queuecontent.xml'),
    ]

    def get_cover_url(self):
        soup = self.index_to_soup('https://queue.acm.org/')
        imgs = soup.find_all(
            'img',
            attrs={
                'src': lambda x: x
                and x.startswith('/app/')
            },
        )
        if len(imgs) > 0:
            self.cover_url = 'https://queue.acm.org/' + imgs[0]['src']
        return getattr(self, 'cover_url', self.cover_url)
